Ubuntu 14.04
Sponsored Link

Rsync : Sync Files/Directories
2016/01/17
 
Copy files or directories from one location to an another host by rsync.
Basic usage of rsync is here.
If you'd like to set rsync automatically by cron or others, it need to configure like follows because authentication is required without settings. For example, Copy files or directories under the [/root/work] on dlp.srv.world to [/home/backup] on www.srv.world.

+----------------------+          |          +----------------------+
|     dlp.srv.world    |10.0.0.30 | 10.0.0.31|     www.srv.world    |
|                      +----------+----------+                      |
|     /root/work/*     |   ------------->    |     /home/backup/*   |
+----------------------+        copy         +----------------------+

[1] Configure on source host.
root@dlp:~#
apt-get -y install rsync
root@dlp:~#
vi /etc/rsync_exclude.lst
# specify files or directories you'd like to exclude to copy

test
test.txt

[2] Configure on destination host.
root@www:~#
apt-get -y install rsync
root@www:~#
vi /etc/default/rsync
# line 8: change

RSYNC_ENABLE=
true
root@www:~#
vi /etc/rsyncd.conf
# create new

# any name you like

[backup]
# destination directory for copy

path = /home/backup
# hosts you allow to access

hosts allow = 10.0.0.30
hosts deny = *
list = true
uid = root
gid = root
read only = false
root@www:~#
mkdir /home/backup

root@www:~#
/etc/init.d/rsync start

Starting rsync daemon: rsync.
[3] It's OK. Execute rsync on Source Host like follows.
root@dlp:~#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup
# add to cron settings if you'd like to run reguraly

root@dlp:~#
# for example, run at 2:00 AM in a day

00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup
 
Tweet